home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
packet
/
praf205e
/
protokol.doc
< prev
next >
Wrap
Text File
|
1995-04-01
|
8KB
|
250 lines
posted by KC3ET @ KA3NVP
TRANSLATION BY ROBERT BARRY
SEPTEMBER 28, 1989
PROTOCOL FOR COMMUNICATION ON THE RS232 CUT POINT
1. Host - Terminal Interlink distinctions
Because and RS232 cut point can act as a node and as a terminal,
some means for distinguishing the two modes must be provided.
This is done simply at the input to the DCD of the SIO channel B.
Normally, the RS232 cut point is in the terminal mode. Following
instructions given in the hand book, a negative potential is
provided to the DCD connection, and Interlink mode is indicated
by this.
2. Frame Format in Interlink Mode
All frames are sent as on an HDLC channel. The software makes
no adjustments at Level-2 and higher. In Level-1, just the
HDLC flag needs to be reset. Thereby, a simple variant of the
HDLC protocol is attained.
All frames begin with STX = 0x02 and end with ETX = 0x03.
Inside a frame STX is replaced DLE-STX and ETX is
replaced by DLE-ETX. DLE (0x10) is extended to DLE-DLE.
For fault detection, the common CRC is not used. Since
faults on an RS232 link are not very likely, a simple check sum is
appended to the ETX. The check sum is 8 bits long and applies to
all the information in the frame (without STX-ETX). The trailing
DLE's are not included.
3. Collision Avoidance.
With only two TNC's on an RS232, no protocol, obviously, is
needed. All transmittals run quasi-full duplex. With more than
two TNC's, a CSMA-CD driver (or controller) is used, which is
controlled over RTS-CTS. Each TNC may only begin a send-cycle if
it has through the CTS determined that the bus is free. It
asserts RTS and loads the bus. Then a randomly determined time
(from 2.5 to 25 milliseconds) is allowed to pass so that any
other TNC's who are ready to send can recognize the change in
channel status. If, during this wait time, some other TNC asserts
RTS, then the send-cycle is broken.
THE INTERLINK PROTOCOL
0. Foreword
The nodes exchange a special protocol for information display.
The frames of the protocol have a 0xCF as Level-2 protocol
identifier. Each frame contains a special Transport Header after
this Level-2 Header (AX.25), which consists of 20 bytes. Because
the AX.25 protocol permits only 256 bytes of information, overly
long User Frames are divided into two sections. TheNet takes care
of this, so that the original size is retained. To keep best use
of the network, no frames longer than 236 bytes are allowed
(Mailboxes). Please note that the Level-2 frames used between two
nodes have the call signs of both parties included (because there
is no digipeater list), whereas in the Transport Header, the call
sign of the level 4 partner appears.
Examples: DB0FD contains a frame for DB0KH from DB0FC, which must
be sent to DB0FE, because DB0FE is the next neighbor on the path
list. DBFD, then, appears in the Level 2 Header as the Sender,
and DB0FE appears as the receiver. In the transport header,
DB0FC is the Sender and DB0KH is the Receiver.
1. Construction of the Transport Headers
The first 15 bytes are evaluated by all parties to find the
optimum path. The remaining five bytes take care of failures
between sender and receiver. (AX.25 is by definition failure
free.) The error provision is necessary, because at Level 2, the
system cannot know if the entire path exists or not. In case of
sudden loss of path, the Receiver must have some means of sending
back frames to the sender for reclaiming.
1.1 Originating Node's Call Sign
Length, 7 bytes, normal AX.25 (packed bytes) format
1.2 Target Node's Call Sign
Length, 7 bytes, normal AX.25 (packed bytes) format, EOA bit set.
1.3 Remaining Packet Life Time
The Remaining Packet Life Time is initially set by the
originating node, and it is reduced by one by each transporting
node. When the value reaches zero, the packet is destroyed. No
error message results. This leads to one-way-paths. For example:
DB0FC initializes its packet to a remaining life of 64, but DF6LN
uses 10. The path between DB0FC and DF6LN has 15 intermediate
nodes. A packet from DB0FC arrives with a remaining life of 49,
but the reverse message is destroyed in passage because 15 > 10.
A life time limit is necessary to forestall perpetual loops in
the system.
1.4 Four bytes with meaning depending upon each Opcode
These bytes are called B1, B2, B3, B4, in the order they appear in
the frame. In each virtual channel, two bytes are used by the
sender and receiver for identification, at the time that the
channel is constructed at Level-4. One of the bytes of the index
is the running count in the circuit list. The other, ID, byte, is
a random number, to prevent ghost frames from a prior message
from circuilating in the system.
1.5 Flags and Opcodes (1 Byte)
The lower four bits give the Opcode. The upper four bits are
flags.
1.5.1 Opcodes
Presently, only six of the possible 16 Opcodes are defined.
1.5.1.1 Opcode = 1 Connect Request
Created for a Level-4 Connection.
B1 = My Index
B2 = My Id
B3 = not defined
B4 = not defined
The frame has the following information:
Proposed Window Size, Level-4 (1 Byte)
For better utilization of the system at Level-4, to
permit more frames to be interjected. This costs RAM. Each Sysop
on the system must make his own choice.
Call sign of the End User. (7 Bytes, AX.25 format with
packed bytes)
Call sign of the Sender Node, (7 Bytes, AX.25 format with
packed bytes)
1.5.1.2 Opcodes = 2 Connect Acknowledge
Answer to a connect request. The choke bit shows, in this case,
that no free places exist on the free list, and the connect
request is declined.
The information in the frame is:
Unified (or agreed) window size, Level 4 (1 Byte)
The unified (or agree) window size is never greater than
the proposed window size.
1.5.1.3 Opcode = 3 Disconnect Request
A directive to relese the Level-4 connection. The order can
come from either end of the connection. The Receiver is ordered
to send along any intermediate information and then to disconnect.
B1 = Your Index
B2 = Your Id
B3 = not defined
B4 = not defined
The frame contains no information.
1.5.1.4 Opcode = 4 Disconnect Acknowledge
Assers that a Level-4 connection has been cut.
B1 = Your Index
B2 = Your Id
B3 = not defined
B4 = not defined
1.5.1.5 Opcode = 5 Information
In these frames, information is translated.
B1 = Your Index
B2 = Your Id
B3 = Running number "send sequence"
B4 = Running number "receive sequence"
Each frame is given a B3 number as it is sent. This serves as
the value for the receiving frame of the same Level-4
connection to (B4 - 1). This value corresponds to the Level-2
value with the change that the "send sequence" does not run from
0..7 but rather from 0..255.
1.5.1.6 Opcode = 6 Information Acknowledge
While the status of the contained information is implicit in the
Info Frame, in one-sided data flow, this item is still necessary,
acting as an extra confirmation.
B1 = Your Index
B2 = Your Id
B3 = not defined
B4 = Running "receive sequence" number
This frame contain no information.
1.5.1.7 Not Defined Opcodes
All other Opcodes indicate that the frame has been destroyed by
the Receiver.
1.5.2 Flags
The upper four bits in the Opcode Byte are reserved for flags.
1.5.2.1 Bit-7 Choke Flag
The node does not have enough memory free to take in more
information for the present Level-4 connection.
1.5.2.2 Bit-6 NAK Flag
Contrary to what was said above, the Receive Sequence is not used
as confirmation but as a directive that the Frame having this
number is to be retained.
1.5.2.3 Bit-5 More Follows Flag
The current frame must be divided. All following frames
including the first one not having this flag are to be
concatenated into one by the receiver.
1.5.2.4 Bit-4 Not Defined
END
(de:DF2AU)